package com.example.swenp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import rfc.HelloNachricht;
import rfc.HelloReply;
import rfc.Master;
import rfc.Registrierung;
import rfc.RegistrierungReply;


public class Login {
	
	Master message;
	HelloNachricht login;

	
	public Login(Connector con){
		
		try {
			con.schreibeNachricht((Master)new HelloNachricht("123"));
			//------------------------------Hier muss die Handynummer rein
		} catch (Exception e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
		boolean connected = false;
		
		while (connected == false) {

			try {

				message = con.leseNachricht();

				switch (message.getType()) {

				case 1: {
					HelloReply reply = (HelloReply) message;

					if (reply.getStatus() == false) {

						System.out.println("Geben Sie einen Nickname ein:");
						
						
						
						try {
							/*
							BufferedReader in = new BufferedReader(
									new InputStreamReader(System.in));
							String nickname = in.readLine();
							*/
							//-----------------------------------Namensabfrage reinmachen
							String nickname = "Flo";
							Registrierung reg = new Registrierung(nickname);
							message = (Master) reg;
							con.schreibeNachricht(message);

						} catch (IOException ex) {
							System.out.println(ex.getMessage());
						}

					} else {
						System.out.println("Anmeldung erfolgreich");
						connected = true;
						//------------------------------Anmeldung erfolgreich
						new Listener_Thread(con);
					}
					break;
				}

				case 3: {
					
					RegistrierungReply regreply = (RegistrierungReply) message;
					System.out.println("Registrierungsstatus: "
							+ regreply.getMessage());
					if (regreply.getStatus()) {
						connected = true;
						//--------------------------Anmeldung erfolgreich
						new Listener_Thread(con);
					}
					break;

				}
				}
			} catch (Exception e) {
				System.out.println(e.getMessage());
				e.printStackTrace();
			}
		}
		
	}
}
		
